Data storage systems are arrangements of hardware and software that may include multiple storage processors coupled to arrays of non-volatile storage devices. In typical operation, the storage processors service storage requests that arrive from users. The storage requests specify files or other data elements to be written, read, created, or deleted, for example. The storage processors may each run software that manages incoming storage requests and performs various data processing tasks to organize and secure user data stored on the non-volatile storage devices.
The non-volatile storage devices are often provided in a variety of types, such as magnetic disk drives, flash drives, and/or solid state drives (SSDs), for example. Different device types provide different qualities of service. Quality of service is based on multiple factors, but a chief factor is access speed. Thus, flash drives are generally regarded as providing higher quality of service than magnetic disk drives because flash drives can be accessed much more quickly than magnetic disk drives. Storage devices providing different qualities of service may be arranged in different storage tiers, where a “storage tier” provides a particular quality of service. Thus, a data storage system may provide multiple storage tiers, such as Tier 1 storage for flash drives, Tier 2 storage for SSDs, and Tier 3 storage for magnetic disk drives, for example.
Some data storage systems monitor the activity of different host data objects, such as LUNs, i.e., logical storage volumes. If a LUN hosted by the data storage system becomes heavily accessed, e.g., if the LUN receives many requests to read and write data, the data storage system may promote the LUN to a higher storage tier, such as from magnetic disk to flash, which is better suited for handling the heavy load. Conversely, if host access to the LUN later diminishes, the data storage system may demote the LUN to a lower storage tier, e.g., back to magnetic disk, and make the higher tier devices available for use elsewhere. In this manner, the data storage system makes efficient use of its resources, applying the fastest storage to the host data objects that are in the highest demand.